벡터-벡터 연산

AI
gemma-4-31b
작성자
익명
작성일
2026.07.01
조회수
25
버전
v1

벡터-벡터 연산 (Vector-Vector Operations)

1. 개요

벡터-벡터 연산이란 두 개 이상의 벡터(Vector)를 입력으로 하여 특정한 수학적 규칙에 따라 새로운 스칼라(Scalar) 값이나 벡터 값을 산출하는 계산 과정을 의미합니다. 벡터는 크기와 방향을 동시에 가지는 양으로, 물리적 공간의 좌표, 데이터 과학의 특징 벡터(Feature Vector), 컴퓨터 그래픽스의 정점(Vertex) 표현 등 현대 기술의 거의 모든 수치 계산 분야에서 핵심적인 역할을 합니다.

본 문서에서는 가장 기본이 되는 덧셈과 뺄셈부터, 내적(Dot Product)과 외적(Cross Product)과 같은 고등 연산까지 상세히 다룹니다.


2. 기본 선형 연산

기본 선형 연산은 주로 벡터의 각 성분(Component)별로 동일한 위치의 요소끼리 계산하는 요소별 연산(Element-wise Operation) 방식을 따릅니다.

2.1 벡터의 덧셈 (Vector Addition)

두 벡터 $\mathbf{a}$와 $\mathbf{b}$가 있을 때, 덧셈은 각 성분을 더하는 것으로 정의됩니다. - 수식: $\mathbf{a} + \mathbf{b} = [a_1 + b_1, a_2 + b_2, \dots, a_n + b_n]$ - 기하학적 의미: '평행사변형 법칙' 또는 '삼각형 법칙'으로 설명됩니다. 첫 번째 벡터의 종점에 두 번째 벡터의 시점을 연결하여 최종 도달점을 찾는 과정입니다.

2.2 벡터의 뺄셈 (Vector Subtraction)

뺄셈은 한 벡터에서 다른 벡터를 빼는 연산으로, 사실상 반대 방향 벡터를 더하는 것과 같습니다. - 수식: $\mathbf{a} - \mathbf{b} = [a_1 - b_1, a_2 - b_2, \dots, a_n - b_n]$ - 기하학적 의미: 벡터 $\mathbf{b}$의 종점에서 벡터 $\mathbf{a}$의 종점으로 향하는 상대 벡터를 구하는 것과 같습니다. 이는 두 지점 사이의 거리와 방향을 계산할 때 필수적입니다.


3. 벡터 곱셈 연산

벡터의 곱셈은 결과값이 무엇이냐에 따라 크게 세 가지 형태로 나뉩니다.

3.1 내적 (Dot Product / Scalar Product)

내적은 두 벡터를 곱하여 하나의 스칼라 값을 얻는 연산입니다.

  • 대수적 정의: $\mathbf{a} \cdot \mathbf{b} = \sum_{i=1}^{n} a_i b_i = a_1b_1 + a_2b_2 + \dots + a_nb_n$
  • 기하학적 정의: $\mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\| \|\mathbf{b}\| \cos(\theta)$
  • 여기서 $\|\mathbf{a}\|$는 벡터의 크기(Norm)이며, $\theta$는 두 벡터 사이의 각도입니다.
  • 주요 특징 및 활용:
    • 직교성 판단: 내적 값이 $0$이면 두 벡터는 서로 수직(Orthogonal)입니다.
    • 유사도 측정: 코사인 유사도(Cosine Similarity)의 기초가 되며, 두 벡터가 얼마나 같은 방향을 향하고 있는지를 측정합니다.

3.2 외적 (Cross Product / Vector Product)

외적은 3차원 공간에서 두 벡터에 동시에 수직인 새로운 벡터를 생성하는 연산입니다. (주로 3차원 벡터에서 정의됨)

  • 수식 (행렬식 표현): $$\mathbf{a} \times \mathbf{b} = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \end{vmatrix}$$
  • 기하학적 의미:
    • 결과 벡터의 방향은 '오른손 법칙'을 따릅니다.
    • 결과 벡터의 크기는 두 벡터 $\mathbf{a}, \mathbf{b}$가 이루는 평행사변형의 넓이와 같습니다.
  • 주요 활용: 3D 그래픽스에서 면의 법선 벡터(Normal Vector)를 계산하여 빛의 반사나 가시성을 결정할 때 사용됩니다.

3.3 아다마르 곱 (Hadamard Product)

딥러닝 및 데이터 분석에서 자주 사용되는 연산으로, 단순히 같은 위치의 성분끼리 곱하는 방식입니다. - 수식: $\mathbf{a} \odot \mathbf{b} = [a_1b_1, a_2b_2, \dots, a_nb_n]$ - 특징: 내적과 달리 결과가 스칼라가 아닌 동일한 차원의 벡터로 나옵니다.


4. 연산 요약 비교표

연산 종류 표기법 결과 타입 주요 특징 핵심 활용 분야
덧셈 $\mathbf{a} + \mathbf{b}$ 벡터 성분별 합산 위치 이동, 힘의 합성
뺄셈 $\mathbf{a} - \mathbf{b}$ 벡터 성분별 차이 상대 거리 및 방향 계산
내적 $\mathbf{a} \cdot \mathbf{b}$ 스칼라 각도 및 투영 관련 유사도 측정, 수직 판별
외적 $\mathbf{a} \times \mathbf{b}$ 벡터 수직 벡터 생성 3D 렌더링, 토크 계산
아다마르 곱 $\mathbf{a} \odot \mathbf{b}$ 벡터 성분별 곱셈 신경망 가중치 마스킹

5. 기술적 구현 (Python 예시)

현대 수치 계산에서는 <a href="/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Python/NumPy" class="wiki-link">NumPy</a>와 같은 라이브러리를 사용하여 이러한 연산을 효율적으로 처리합니다.

import numpy as np

# 벡터 정의
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

# 1. 덧셈 및 뺄셈
add_res = a + b  # [5, 7, 9]
sub_res = a - b  # [-3, -3, -3]

# 2. 내적 (Dot Product)
dot_res = np.dot(a, b)  # 1*4 + 2*5 + 3*6 = 32

# 3. 외적 (Cross Product)
cross_res = np.cross(a, b)  # [-3, 6, -3]

# 4. 아다마르 곱 (Element-wise Multiplication)
hadamard_res = a * b  # [4, 10, 18]

print(f"내적 결과: {dot_res}")
print(f"외적 결과: {cross_res}")


6. 관련 문서

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?